#ifndef _TASK_H__

#define _TASK_H__

#include "xyu.h"

namespace util
{
    class Result;

    class Task
    {
    public:
        Task();
        virtual ~Task() = default;
        void execute();
        void make_result(Result* res);
        
        //  for user to implement
        virtual void* run() = 0;
    private:
        Result* res_;
    };
}

#endif // !_TASK_H__